package skill

import (
	"time"

	"gddgame.cc/galaxy/common/dsl/game/attr"
)

const SettingSkillName = "setting_skill"

type SettingSkill struct {
	Id             int                  `json:"id" orm:"auto" sql:"INT"`
	Name           string               `json:"name,omitempty" sql:"VARCHAR"`
	Effect         string               `json:"effect" sql:"VARCHAR"`
	Distance       int                  `json:"distance" sql:"INT"`
	Radius         int                  `json:"radius" sql:"INT"`
	Angle          int                  `json:"angle" sql:"INT"`
	Number         int                  `json:"number" sql:"INT"`
	Ease           int                  `json:"ease" sql:"INT"`
	Speed          int                  `json:"speed" sql:"INT"`
	ReadyTime      float32              `json:"readyTime" sql:"FLOAT"`
	CastTime       float32              `json:"castTime" sql:"FLOAT"`
	CoolTime       float32              `json:"coolTime" sql:"FLOAT"`
	IntervalTime   float32              `json:"intervalTime" sql:"FLOAT"`
	SustainedTime  float32              `json:"sustainedTime" sql:"FLOAT"`
	HandleType     int                  `json:"handleType" sql:"INT"`
	TargetRelation int                  `json:"targetRelation" sql:"INT"`
	TargetStatus   int                  `json:"targetStatus" sql:"INT"`
	CastNeed       int                  `json:"castNeed" sql:"INT"`
	SkillPlan      int                  `json:"skillPlan" sql:"INT"`
	CastType       int                  `json:"castType" sql:"INT"`
	CallId         int                  `json:"callId" sql:"INT"`
	CallNumber     int                  `json:"callNumber" sql:"INT"`
	AttrEvent      [][]attr.AttrEvent   `json:"attrEvent" sql:"JSON"`
	CasterAttr     attr.AttrEffectSlice `json:"casterAttr" sql:"JSON"`
	TargetAttr     attr.AttrEffectSlice `json:"targetAttr" sql:"JSON"`

	UpdateTime *time.Time `json:"update_time" orm:"updateTime" sql:"DATETIME"`
}
